package com.yigerende.controller;


import com.yigerende.feign.MenuFeign;
import com.yigerende.pojo.MenuVo;
import com.yigerende.pojo.TMenu;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.*;


//控制层这里就需要吧数据返回给前端
@Controller
@RequestMapping("/menu")
public class MenuController {

    @Autowired
    private MenuFeign menuFeign;

    //使用控制器进入首页，让thymeleaf生效
    @GetMapping("jr")
    public String index(){
        return "index";
    }
    @GetMapping("jr1")
    public String index1(){
        return "index1";
    }

    //异步刷新首页数据
    //返回json数据，这就用了feign，把原来的/menu/findAll/{page}/{limit}
    // 变成了/menu/findAll。因为page和limit使用ajax提交的json格式数据,获取到了数据再传递过去原来的接口
    @GetMapping("/findAll")
    @ResponseBody
    public MenuVo findAll(@RequestParam("page") int page, @RequestParam("limit") int limit){
        return menuFeign.findAll(page,limit);
    }

    //跳转到菜单增加页面(菜单增加页面需要   类型数据)
    @GetMapping("/prepareSave")
    public String prepareSave(Model model){
        model.addAttribute("list",menuFeign.findAll());
        return "menu_add";
    }

    //增加菜品(传递的是表单)
    @PostMapping("/save")
    public String save(TMenu menu){
        menuFeign.save(menu);
        return "redirect:/menu/sy";
    }

    //进入修改页面
    @GetMapping("/findById/{id}")
    public String findById(@PathVariable("id") Integer id, Model model){
        model.addAttribute("list",menuFeign.findAll());
        model.addAttribute("menu",menuFeign.findById(id));
        return "menu_update";
    }

   //修改菜品
    @PostMapping("/update")
    public String update(TMenu menu){
        menuFeign.update(menu);
        return "redirect:/menu/sy";
    }

    //删除菜品（前端直接拼接id的方式传递的所以用@PathVariable获取）
    @GetMapping("/deleteById/{id}")
    public String deleteById(@PathVariable("id") Integer id){
        menuFeign.deleteById(id);
        return "redirect:/menu/sy";
    }
}
